package cn.hss.string;

/**
 * @author 作者：HeShaoShuai
 * @Email 邮箱：2569819541@qq.com
 * @Date 日期：2023/4/25 20:11
 * @Package 包名：cn.hss.string
 * @Project 项目名：JavaSE
 * @Version 1.0
 */
public class StringBufferDemo {
	public static void main(String[] args) {
		//1.创建StringBuffer对象
		//定义一个空的字符串缓冲区，默认容量为16个字符
		StringBuffer buffer = new StringBuffer();
		//定义一个含有10个字符容量的字符串缓冲区
		StringBuffer buffer1 = new StringBuffer(10);
		//定义一个含有(16+4)个字符容量的字符串缓冲区
		StringBuffer buffer2 = new StringBuffer("青春无悔");
		//System.out.println(buffer2.capacity());//20
		//2.追加字符串
		//创建StringBuffer对象
		StringBuffer sbf = new StringBuffer("Hello");
		String str="World!";
		//向StringBuffer对象追加str字符串
		sbf.append(str);
		//System.out.println(sbf);//HelloWorld!
		//3.替换字符
		//StringBuffer类的setCharAt(int index,char ch)方法
		// 用于在字符串的指定索引位置替换一个字符
		sbf.setCharAt(2,'L');
		//System.out.println(sbf);
		//4.反转字符串
		//StringBuffer类中的 reverse()方法
		// 用于将字符串序列用其反转的形式取代
		StringBuffer buffer3 = new StringBuffer("java");
		//System.out.println(buffer3.reverse());//avaj
		//5.删除字符串
		//StringBuffer类提供了deleteCharAt()
		// 和delete()两个删除字符串的方法
		//5.1 deleteCharAt(int index)用于移除序列中指定位置的字符
		StringBuffer buffer4 = new StringBuffer("world");
		buffer4.deleteCharAt(2);
		//System.out.println(buffer4);//wold
		//5.2 delete(int start,int end)用于移除序列中区间子字符串的字符
		StringBuffer buffer5 = new StringBuffer("hello HaoLP");
		//将字符串"hello HaoLP"索引值为2(包括)到索引值为8(不包括)之间的
		// 所有字符删除
		buffer5.delete(2,8);//heoLP
		System.out.println(buffer5);
	}
}
